Current digital transmission systems were originally designed to support hierarchical interactive services such as video-on-demand (VOD) systems. For example, a hierarchical VOD system would include multiple tiers of quadrature amplitude modulation (QAM) modulators with corresponding VOD servers where the tiers defined a pyramid-like hierarchical network structure. It was thought less frequently view content would be stored at a higher level tier on a larger QAM where then the most popular content would be pushed out to the lower tier or bottom edge of the network. However, as shown in FIG. 1, some networks today are actually flat and not hierarchical because of the lack of content and the increasing size of disk drives.
FIG. 1 depicts a typical flat subscriber television system (STS) 100 that includes a network 102, headend 104, and service groups 106, 108. The STS 100 can be configured differently and, in particular, can include any number of service groups such as service groups 106, 108. Each service group 106, 108 includes a plurality of digital home communication terminals (DHCTs) 110 such as those commonly referred to as set-top boxes.
The headend 104 provides the interface between DHCTs 110 and service and content providers (not shown) such as broadcasters, internet service providers, and the like. Information about the network 102 is controlled by a digital network controller system (DNCS) 112 within the headend 104. The headend 104 also includes a plurality of common QAMs 114 that receive digital bit streams. The QAMS 114 modulate the bit streams for transmission over the network 102. A combiner 116 combines modulated sessions and outputs them to the plurality of DHCTs 110 across the network 102.
In one typical embodiment, the output signals from the network 102 are an in-band MPEG transport stream and a two-way out-of-band data stream received by a combiner 118. The out-of-band data stream is transmitted by a Quadrature Phase-Shift Keying (QPSK) modem array including a modulator 120 and a demodulator 122. Combiners 140, 142 combine the sessions from the locals QAMs 130, 132, respectively, where the combiners 150, 152 then cooperate with the combiner 118 to output the modulated sessions downstream to the DHCTs 110 of the services groups 106, 108.
A network system operator enters data into the DNCS 112 about the layout of the network 102 which includes transport stream identifications (TSIDs) and their associated service groups. Each service group 106, 108 is a plurality of DHCTs 110 that has access to the same multiplex of local QAMs 130, 132, respectively. Each service group 106, 108 has a unique service group identification (SGID). The DNCS 112 takes this data and produces two files based upon the broadcast file system (BFS) format. One file goes to the servers with enhanced services, such as VOD servers 136, 138 and the other goes to each of the DHCTs 110. The file to the DHCT 110 includes unique frequency entries that describe a single QAM in a single service group. There is an entry for each QAM in all service groups.
A subscriber using a DHCT 110 can receive exclusive sessions such as enhanced services by requesting them through the DHCT 110. The DHCT 110 looks for its service group among the many different service groups on the network 102. The process by which a DHCT 110 determines its service group is called auto-discovery. This process is generally a comparison of acquired data from the network 102 to tabulated reference data that provided to the DHCT 110. Once a match between the acquired data and the tabulated data is found, the identification of the service group is provided from the tabulated data. The SGID is then sent in the exclusive session request so that the server, such as the VOD server, can send the requested content through the appropriate QAMS.
The reference data for the network 102 is commonly referred to as a service group map (SGM) containing three parameters: QAM frequency, the TSID, and the SGID. An example of a SGM 200 is shown in FIG. 2. The file is sorted by SGID and, therefore, all the frequencies for a particular SGID are grouped together before another group of frequencies is listed that is associated with a subsequent SGID. FIG. 3 illustrates an alternative example of a known SGM 300 that allows the DHCT 110 to make more efficient use of the tuner in the DHCT. As shown in FIG. 3, the DNCS 112 organizes the map file by grouping all entries of the same frequency together. Because the file is sorted by similar frequencies, each identical occurrence of a particular frequency corresponds with a different SGID. The number of TSIDs for a given frequency is typically large. In either of the SGMs 200 or 300, the map entries are searched sequentially.
On the other hand, the acquired data is the actual QAM frequencies the DHCT 110 has access to in the network 102 and the associated TSID, contained within the program association table (PAT), which uniquely identifies the QAM for a particular service group. A DHCT 110 discovers its SGID once the tabulated TSID from the SGM is matched with the corresponding acquired TSID from the PAT.
For example, upon purchase of a VOD movie, the DHCT 110 will empty its cache and begin looking for information in the SGM file one entry at a time. Referring to FIG. 2, the DHCT 110 attempts to tune the first frequency in the SGM 200 and locks onto the QAM to retrieve the acquired TSID from the PAT. The DHCT 110 compares the acquired TSID from the PAT to the tabulated TSID from the SGM 200. If they do not match, the DHCT 110 places the acquired TSID and its associated frequency in the cache and moves to the next entry in the SGM 200. The DHCT 110 attempts to tune to the next frequency and, if able to successfully lock onto the QAM, another acquired TSID is retrieved from the PAT. The DHCT 110 again compares this acquired TSID from the PAT to the tabulated TSID from the SGM 200 associated with the second frequency. If they still do not match, the DHCT 110 again places the acquired TSID and its associated frequency in the cache and moves onto the next entry in the SGM 200.
The DHCT 110 continues to go through the SGM 200 in this manner, acquiring TSIDs from the PAT and comparing them to the tabulated TSIDs in the SGM 200, until it reaches a frequency for which it already has information cached. When it reaches a frequency for which it has data cached, rather than tune to the same frequency again, it compares the acquired TSID in cache to the tabulated TSID in the current entry of the SGM 200. The DHCT 110 would continue to go through the SGM 200 in this manner, comparing acquired TSIDs to the tabulated TSID in the SGM 200, until the DHCT 110 reaches the first entry in the SGM 200 for its still unbeknownst service group. Still referring to FIG. 2, if the DHCT 110's SGID was 74, the DHCT 110 would have to go through every entry for SGID 76, as well as every entry for SGID 75, before coming to the first occurrence of a frequency associated with SGID 74 of the DHCT 110. In such case, the DHCT 110 retrieves from cache the acquired TSID associated with the first frequency in the DHCT 110's still unbeknownst service group. The DHCT 110 compares the cached acquired TSID to the tabulated TSID from the SGM 200 and finds there is a match. The DHCT 110 then retrieves the SGID associated with the matching TSIDs from the SGM 200. The DHCT 110 has then discovered its SGID which is SGID 74.
The SGM 300 of FIG. 3 is merely provided to depict entries for the same frequency grouped together. If all frequencies were to be available to the entire population of DHCTs 110 within the STS 100, the map would be as shown to include an occurrence of each SGID grouped together for the same frequency. Where all the entries of the same frequency are grouped together, the tuner is not required to repeatedly tune to each subsequent occurrence of the same frequency. This makes more efficient use of the tuner. The DHCT 110 simply compares the cached acquired TSID with each of the tabulated TSIDs grouped together, one after the other, associated with the tuned frequency to determine if there is a match. If there is no match within a particular frequency, the next frequency is tuned for the next group of tabulated TSIDs. Once the tabulated TSID and the acquired TSID match, the DHCT 110 retrieves the SGID from the SGM 300. The DHCT 110 has then discovered its SGID utilizing this alternative SGM 300.
However, if all of the frequencies are not available to the entire population of DHCTs, the DHCT 110 may experience delays on occasion. For example, the DHCT 110 will not always be successful when attempting to lock onto a QAM. The DHCT 110 is allowed a period of time to tune a particular channel to find its service group. This period of time when the DHCT 110 is unsuccessful in its attempt to tune is commonly referred to as a timeout. Timeouts are undesirable because timeouts result in delays in providing enhanced service to the subscriber. If the DHCT 110 tunes a channel where no digital signal is present, the search by the DHCT 110 results in a timeout before being able to tune another channel. Even if the SGM 300 is sorted by frequency, as in FIG. 3, the DHCT 110 could easily timeout numerous times before tuning to a frequency from which the DHCT receives a digital signal.
These known SGMs 200 and 300, one which groups the information according to particular service groups and the other which groups all the entries of the same frequencies, are not the most effective way of presenting data to the DHCT 110 for processing. These known SGMs 200 and 300 are inefficient because the DHCT 110 may endure multiple timeouts. What is needed is an improved system and method for expediting the discovery of the correct SGID by the DHCT 110. The improved system and method must minimize the number of channels tuned as well as minimize the number of timeouts, resulting in improved performance of the auto-discovery process.